package com.cgwx.tmservice.entity.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.cgwx.tmservice.convert.TmAnalyticConverter;
import com.cgwx.tmservice.convert.TmOriginalConverter;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @author GaoWei
 * @Date 2023/8/8 - 16:16
 * 遥测配置Excel对应的实体类
 */

@Data
@Api(tags = "上传遥测配置表格实体类")
public class TmParamExcelVo {

    @ApiModelProperty(value = "遥测参数名称")
    @ExcelProperty("遥测名称")
    private String tmName;

    @ApiModelProperty(value = "起始位置(bit)")
    @ExcelProperty("起始位置")
    private Integer tmStartPos;

    @ApiModelProperty(value = "长度(bit)")
    @ExcelProperty("长度")
    private Integer tmParamLength;

    @ApiModelProperty(value = "遥测参数代号")
    @ExcelProperty("遥测代号")
    private String tmCode;

    @ApiModelProperty(value = "原码存储方式(0:无符号; 1:有符号; 2: 补码; 3:反码)。 默认值： 0。")
    @ExcelProperty(converter = TmOriginalConverter.class,value = "原码存储方式")
    private Integer tmOriginalType;

    @ApiModelProperty(value = "解析值处理方式cgwx(0:原码; 1:十进制; 2:公式; 3:状态码(十六进制);4:状态码(十进制);5:状态码(二进制); 6:时间; 7:不处理;8:32位单精度浮点数)。默认值：0。")
    @ExcelProperty(converter = TmAnalyticConverter.class,value = "工程值处理方式")
    private Integer tmAnalyticType;

    @ApiModelProperty(value = "解析值处理参数")
    @ExcelProperty("处理参数")
    private String tmAnalyticParam;
}
